package main

import "fmt"

/*
2.使用go语言实现5行5类盘龙数组
*/

func main() {
	var a [5][5]int
	for i := 0; i < 5; i++ {
		for j := 0; j < 5; j++ {
			a[i][j] = 0 // 初始化数组
		}
	}
	flag := 1 //用来标记已进行了几个数
	i := 0
	j := -1
	for flag < 26 {
		j++
		for i < 5 && i >= 0 && j < 5 && j >= 0 && a[i][j] == 0 { //i不动，j增大，方向向右
			a[i][j] = flag
			flag++
			j++
		}
		j--
		i++
		for i < 5 && i >= 0 && j < 5 && j >= 0 && a[i][j] == 0 { //j不动，i减少，向下
			a[i][j] = flag
			flag++
			i++
		}
		i--
		j--
		for i < 5 && i >= 0 && j < 5 && j >= 0 && a[i][j] == 0 { //i不动，j减少，向左
			a[i][j] = flag
			flag++
			j--
		}
		j++
		i--
		for i < 5 && i >= 0 && j < 5 && j >= 0 && a[i][j] == 0 { //j不动，i增加，方向向上
			a[i][j] = flag
			flag++
			i--
		}
		i++
	}
	for i = 0; i < 5; i++ {
		fmt.Println(a[i])
	}

}
